package TP2.pruebas;

import java.awt.Point;
import junit.framework.*;
import TP2.modelo.*;

public class ColisionAvionDelJugadorConItemTest extends TestCase{
	
	public void testColisionAvionDelJugadorContraItemDeArmas(){
		
		Algo42 algo42 = new Algo42();
		AvionBombardero bombardero = new AvionBombardero();
		ItemArma item;
		Laser municion1;
		Cohete municion2;
		Escenario escenario = Escenario.getInstancia();
		Point posicion = new Point();
		
		escenario.limpiarInstancia();
		
		posicion.setLocation(25, 25);
		algo42.setPosicion(posicion);
		posicion.setLocation(25, 33);
		bombardero.setPosicion(posicion);
		escenario.agregarAvionAlJuego(bombardero);

		algo42.disparar();
		municion1 = (Laser) escenario.getDisparosDelJugadorEnJuego().get(0);
		municion1.vivir();
		municion1.vivir();
		
		for (int i=0 ; i<10 ; i++)
			bombardero.colisionarConMunicion(municion1);
		municion1.colisionarConAvion(bombardero);
		
		assertTrue(bombardero.estaDestruido());
		
		for (int i=0 ; i<4 ; i++)
			algo42.moverArriba();
		
		item = (ItemArma) escenario.getItemsEnJuego().get(0);
		algo42.colisionarConItem(item);
		item.colisionarConAvion(algo42);
		
		algo42.cambiarArma();
		algo42.disparar();
		
		municion2 = (Cohete) escenario.getDisparosDelJugadorEnJuego().get(1);
		assertTrue(municion2.getPoderDeDestruccion().getCantidadDeDanio(bombardero) == 30);
		escenario.limpiarInstancia();
	}
}

